home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d6
/
bartend.arc
/
DSK1.EXE
/
BARTEND.DOC
< prev
next >
Wrap
Text File
|
1990-03-20
|
38KB
|
957 lines
Bar Tender
The Bar Code Printing Utility
Version 1.45
March 1, 1990
by Kevin Vigor
Copyright (c) 1989-1990 All Rights Reserved
Users' Guide rev 1.3
TVark Productions Bar Tender Users' Guide rev 1.3 Page 2
Contents of this manual
-----------------------
Introduction
General Information pg 3
Features pg 3
Requirements pg 3
Compatibility pg 3
Registration Information pg 4
How to contact the Author pg 6
Using Bar Tender
Installing Code pg 7
Setting Parameters pg 8
Printing pg 14
Things to Consider (hints & caveats) pg 15
Appendix A: Utility programs pg 16
Appendix B: Selecting your bar code type pg 17
Appendix C: Bar code specifications. pg 19
TVark Productions Bar Tender Users' Guide rev 1.3 Page 3
Introduction
General Information
The Bar Tender system is intended to allow you to print bar codes
from within any application. It is a memory-resident system
featuring ten different bar codes types, using from 17 - 30 K of
memory.
Features of the Bar Tender system
o Small size. The system is carefully written to preserve
as much of your precious memory as possible.
o Speed. Bar codes are generated as fast as any
commercial system I have yet discovered, and regular
printing is not slowed appreciably (even on large
word processing documents) by the presence of the
program.
o Full featured control panel. The Bar Tender control
panel is a program to control the type of bar code,
it's size and placement, etc. from a menu driven screen
with full help available at every point.
o Flexibility. You can print ten different bar codes in
heights from 1/10" to 1" on eight different printer
types. Bar codes can be printed up to six across on a
page. Bar Tender can be used with your present word
processing, spreadsheet, database, or any other system
which produces printed output, requiring no change in
your work habits.
Requirements
Bar Tender v1.45 requires an IBM PC or 100% compatible with DOS
3.0 or better, 30K of free memory, and one of the supported
printers.
Compatibility
Bar Tender is a memory resident program (TSR), and such programs
are renowned for the conflicts they can create. This system is
well behaved. It has been tested with Side-Kick, and runs on
LanTastic, Novell, APX and NX/386 networks. However, it is
impossible to test every possible combination of TSR's, and it is
possible conflicts might arise. If you are having problems using
Bar Tender and you have other TSR programs loaded, particularly
those that control the printer, try running Bar Tender as your
only TSR. If the system works, try altering the order in which
you load your TSR's, or see if you can do without the conflicting
program.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 4
Registration Information
Bar Tender is distributed as User-Supported software. You are
free to copy and distribute this software freely, however, if you
find it of use to you, you must register your copy. Registering
your copy of the software helps the author continue to provide
professional-quality software at very reasonable prices.
The Basic Registration is $20.00 and grants you license to use
the product freely. It also entitles you to support from the
author and free upgrades. A diskette with the latest version is
available for an extra $5.00.
All materials are shipped on 5.25-inch floppy diskettes, unless
you request otherwise.
Non-U.S. orders need to include $5.00 extra to cover additional
shipping and handling charges. Checks and money orders must be
drawn on a U.S. bank. Please send all payments payable in U.S.
Dollars.
Utah residents must add 6.25% for state sales tax.
Print the registration form, REGISTER.DOC, or include on a piece
of paper your name, address and phone number, and send it along
with your payment to:
Kevin Vigor
129 South 700 East #4
Salt Lake City, Utah, 84102
If by chance, you don't have the REGISTER.DOC file, a copy of the
registration form is included on the next page.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 5
BAR TENDER REGISTRATION FORM
NAME: __________________________________________________
COMPANY: __________________________________________________
ADDRESS: __________________________________________________
__________________________________________________
CITY: __________________________________________________
STATE: ________________________ ZIP CODE: _____________
PHONE: __________________________________________________
E-MAIL ADDRESS: ___________________________________________
WHERE DID YOU RECEIVE BAR TENDER? _________________________
____________________________________________________________
COMMENTS: _________________________________________________
____________________________________________________________
Basic Registration @ $20.00 $__________
Update Floppy Disk Service @ $5.00 $__________
Circle one: 5.25" disk 3.5" disk
Shipping outside U.S. @ $5.00 $__________
(Payments MUST be in U.S. Dollars/U.S. Bank)
SUBTOTAL: $__________
Utah Residents Add 6.25% State Sales Tax
($20 = $1.25 | $25 = $1.56) $__________
Quantity x __________
1.45 TOTAL: $__________
Remit to: Kevin Vigor
129 South 700 East #4
Salt Lake City, Utah, 84102
TVark Productions Bar Tender Users' Guide rev 1.3 Page 6
How to Contact the Author
I can be reached in several ways:
o US Mail: at the address above
o CompuServe #72500,3705: CompuServe response may be
erratic. I log on fairly regularly, but do not expect
overnight response.
o BBS: A Million Miles Away (801) 965-9534, Salt Lake's
premier PC-Board. Note that this is *not* a support
board. Don't expect extra access as a user, and don't
hassle the sysop!
o Phone (801) 363-1656. Please use this as a last resort
or in emergencies only! And remember the time
difference. Preference will be given to registered
users. This is not true of the other methods of access.
Bug reports are welcome and will be rewarded with an upgrade (or
at the very least an explanation of why the bug cannot be
immediately fixed!). Note that there is a difference between a
bug report and a wish list!
TVark Productions Bar Tender Users' Guide rev 1.3 Page 7
Using Bar Tender
----------------
Okay, now that the formalities are over...
To use Bar-One you must do three things.
1. Install the memory-resident code.
2. Set the parameters for your printer type, code placement, etc.
3. Print your bar codes.
Installing Code
---------------
Installing the code is done by running one of the several .COM
files that come with this package. Each file supports a different
type of bar code:
UA_BAR.COM: UPC-A Bar Code
UE_BAR.COM: UPC-E Bar Code
39_BAR.COM: 3 of 9 Bar Code
X39_BAR.COM: Extended 3 of 9 Bar Code
E8_BAR.COM: EAN/JAN-8 Bar Code
E12_BAR.COM: EAN/JAN-12 Bar Code
25_BAR.COM: Interleaved 2 of 5 Bar Code
128_BAR.COM: Code 128 Bar Code
CDB_BAR.COM: CodaBar Bar Code
ZIP_BAR.COM: Zip Code Bar Code
BAR.COM: All of the above.
The BAR.COM file is a general purpose file that will allow you to
print all of the supported bar code types. It does, however, use
more memory than the single-bar types, and should only be used
when necessary.
Each bar code type is used for a different purpose and may
require different data to be encoded. If you are not immediately
certain of the type of code you require, please consult Appendix
B, which will offer help in selecting the best bar code type for
your application.
When you have selected your bar code type, run the file. E.G., if
you wanted UPC-A bar codes, you would enter the following at a
DOS prompt:
C:>ua_bar [RETURN]
The system should respond "Bar Tender [xxx] version successfully
installed!", and return you to the DOS prompt.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 8
Setting Parameters
------------------
Setting your parameters can be done three ways: when installing
the resident code, when printing, and from the Control Panel.
The Control Panel.
-----------------
The Control Panel serves as a good introduction to the
system's various parameters. Bring up the control panel by
entering CP at a dos prompt, as below:
C:>cp [RETURN]
The main system screen will appear as below:
------------Current Settings-------------
| Data Marker: ~ |
| Printer Type: HP Laser (300 dpi)|
| Margin: 0 |
| Height: 4 |
| Overstrike: 1 |
| Bar Code Type: Ex. 3 of 9 |
| Checksum generation disabled. |
| Text printing enabled |
| System is active. |
| Density: Medium |
| Space Stripping: Both |
| Forms Across Page: 1 |
| Form Width: 20 |
| * Code Orientation: Horizontal |
| * Position Saving: OFF |
-----------------------------------------
This is a list of all the Bar Tender basic settings. They
are each described below. Note that the values shown
above are the system defaults.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 9
o Data Marker: This is a "word" of one to five characters
in length. It is used for marking the data you want
bar-coded, as will be explained under Step 3.
o Printer Type: This must be set to your printer's
emulation. If your exact printer is not listed, check
your printer manual to see if it can emulate one of
those listed.
o Margin: This controls how far from the left margin you
want the bar codes printed. It is measured in
characters, or points on a PostScript printer.
o Height: The height of the bar code, in tenths of an
inch.
o Overstrike: This is used on dot-matrix printers to
control how many times the printer will go over the bar
code. The more times, the darker and better it will be,
but the slower printing will be. This will usually be
one, unless you are having trouble scanning the bar
codes you print. Users of laser printers can ignore
this parameter.
o Bar Code Type: The current bar code type. You can only
alter this if you used BAR.COM, not one of the bar-code
specific files. A full explanation of the various bar
code types is given in appendix A.
o Checksum Generation. Some bar code types (UPC-A & E, 3
of 9) have an optional checksum. If this option is
"enabled", Bar Tender will automatically generate the
checksum for you. This will decrease the chance of bad
bar codes being read wrongly, but several readers
cannot understand this. If your reader cannot handle
checksums, they will appear as an extra character on
the end of the bar code.
o Text Printing: If this option is "enabled", Bar Tender
will print the bar code's value under the code. If it
is "disabled", it will print only the bar code.
o System: if the system is active, it is watching what
you print for bar codes. If it is inactive, it will not
print bar code, but is still in memory, waiting to be
made active again.
o Density: This affects how wide the bar codes are. The
wider they are, the better they will read; however,
they will take up more space and take longer to print.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 10
o Space Stripping: This option allows Bar Tender to
automatically remove spaces at the beginning and end of
your bar codes. LEADING will remove spaces before the
code, TRAILING will remove those after the code, BOTH
will (obviously) remove both, and NONE will leave all
spaces in.
o Forms across page: This controls how many bar codes
will appear on the same horizontal line. You may print
up to six across the page (for three-across labels,
etc.).
o Form Width: This is only used when printing more than
one across the page. This parameter is the width in
characters (or points on a PostScript printer) of each
label.
o Code Orientation: This parameter is only used with
laser printers. If set to Vertical, the codes will be
printed "sideways". Horizontal is the default, and the
only mode that will work with dot-matrix printers.
o Position Saving: This parameter is only used with laser
printers. When set to ON, the system will restore the
old printer position after printing the bar codes. In
other words, anything you print immediately following
the bar code will start at the same position as the bar
code did. This can be very helpful in formatting
output, particularly with vertical bar codes. When set
to OFF (which is the only option available to
dot-matrix printers), any printing following the bar
code will start below and to the right of the code.
These are the basic parameters for controlling Bar
Tender. From the control panel, they may all be altered
simply by picking from menus and typing in values.
Remember that help is always available by pressing the F1
key at any point while in the Control Panel.
The last two options are for laser printers only, and
provide advanced formatting features. If you wish to use
these features with your dot matrix printer, I would
recommend the use of a product like GoScript from LaserGo
Inc, which will emulate a PostScript printer. I have
found this product, while slow and memory hungry, to be
extremely useful in getting output I never imagined
possible out of my weary Epson. (end of unsolicited
plug!). If you wish to go this route, you will also need
a utility like PRN2DSK (commonly available on BBS's) to
save the printed output to a disk file so it can be run
through GoScript. Be sure to run PRN2DSK (or any similar
utility) *before* installing Bar Tender.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 11
The Control Panel also allows you to remove Bar Tender
from memory, by choosing the UnInstall option from the
main menu. This will free up the memory taken by Bar
Tender and return you to DOS.
Command Line Options
--------------------
You may set any of these parameters when starting up Bar
Tender using command line arguments to the .COM file you
use to install the program. The possible options are
listed below:
-P#: Selects the printer type, where # is a number
from the following list:
0 = PostScript
1 = Epson
2 = IBM ProPrinter
3 = HP LaserJet at 150 dpi
4 = HP LaserJet at 300 dpi
5 = Epson 24 pin
6 = Toshiba 24 pin
7 = Okidata MicroLine
-Dxxxx: Sets the Data Marker to xxxxx.
-H##: Sets the bar code height to ## tenths of an inch.
-T[+|-]:Sets text printing ON (+) or OFF (-).
-C[+|-]:Sets checksum generation ON (+) of OFF (-).
-O#: Sets Overstrike to #.
-M##: Sets Margin to ##.
* -B#: Sets the bar code type, where # is a number from
the following list:
0 = UPC-A
1 = UPC-E
2 = EAN/JAN-12
3 = EAN/JAN-8
4 = 3 of 9
5 = Extended 3 of 9
6 = Interleaved 2 of 5
7 = Code 128
8 = CodaBar
9 = Zip + 4
TVark Productions Bar Tender Users' Guide rev 1.3 Page 12
-N#: Sets the density, where # is a number from the
following list:
0 = High
1 = Medium
2 = Low.
-V[+|-]:Sets the Code Orientation to Vertical (+) or
Horizontal (-). (Laser printer only)
-Z[+|-]:Sets Position Saving ON (+) or OFF (-). (Laser
printer only)
-S#: Sets the Stripping, where # is a number from the
following list:
0 = NONE
1 = LEADING
2 = TRAILING
3 = BOTH
-A#: Sets the number of Forms Across the page to #.
-W##: Sets the form width to ##.
For example, to start up Bar Tender with UPC-A bar codes,
height 5 tenths of an inch, margin 20, 2 forms across the
page, and a form width of 35, you would enter the
following at the DOS prompt:
C:>ua_bar -H5 -M20 -A2 -W35
Be careful with the laser printer options. If you set
position saving to ON, and are using a dot matrix
printer, you will get junk when you try to print. Bar
Tender tries to prevent this, but it is possible to fool
the system thus:
C:>bar -Z+ -P1
The options are scanned left to right, so when the Z+
option (position saving on) is processed, Bar Tender is
still using the default HP LaserJet printer, and will
allow this command. The next command, however, changes
the printer to an Epson, which cannot support position
saving. This will confuse the system horribly. As a
general rule, when using command line options, set the
printer type with the very first option to prevent this
sort of error.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 13
Once you have worked out the parameters you need for a
particular application, you may want to create a batch
file to call Bar Tender with the desired parameters.
Print Time Options
------------------
You may change several of Bar Tender's settings while
printing. These commands use the same format as the
command line options, but start with \ instead of -. For
instance, to change to margin setting to 30 while
printing, you would send a bar code starting with \M30 to
the printer. Bar Tender will detect that you wish to
change the margin and will do so IMMEDIATELY. Commands
may be strung together, and you may follow the commands
with the data for a bar code. For instance, \M30\H3\D0Hi
will print a bar code of "Hi", with margin 30, 3/10"
high, and high density.
Command line options that use a +- to turn an option on
or off should be replaced with a 1 for + and a 0 for -.
For example, the command line option to set text printing
off is -T- ; the corresponding print time option is \T0.
If you wish to send a backslash as the first character,
you must send two, the second cancelling out the effect
of the first. For example, to encode \Hi/, you should
actually send \\Hi/ to be encoded.
Commands must be the first thing in a bar code to take
effect; if you encode Hi\M40There, you will get one bar
code, not two, and the margin parameter will not be
altered.
The data marker, number of forms across the page,
form width, orientation and position saving mode cannot
be changed while printing.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 14
Printing
--------
Now that you have Bar Tender installed and ready to go, you are
ready to print. This is the easiest step. Simply surround the
data you want encoded by the data marker, and use whatever
application you like to print it!
For instance, if you are in WordPerfect (tm), and your data
marker was BAR!, you could type the following:
BAR!123BAR!
When you print this, it will appear as a bar code of "123". It's
that simple, folks!
Always be careful to send the closing data marker. If you send
only one, Bar Tender will keep waiting for an end marker, and
storing everything you print, until it runs out of memory, at
which point your computer will most likely lock up solidly.
If you try to encode data that cannot be encoded with the current
bar code type (see appendix C for bar code specifications), the
code will simply be ignored. There is no way of detecting this
sort of error. If this keeps happening to you, consult appendix C
to get samples of the data each code type accepts. Note that
normal text (not between markers) should always print correctly.
If normal text will not print, you have a more serious problem
and should probably reboot after saving your current work.
When you are printing multiple bar codes across a page, you must
still send each code separately. You cannot lump them together.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 15
Some Things to Consider
-----------------------
Be careful with your selection of data marker. The system
defaults to a single tilde (~), which is fine for simple
applications. A program like WordPerfect (tm), however, will send
hordes of characters to the printer while initalizing it, and is
very likely to send a tilde or two, which will confuse Bar Tender
horribly. When using *any* program that produces any sort of
fancy output from your printer (special fonts, graphics, etc.),
*set the data marker to a longer "word"!*. Otherwise things will
become very confused...
Likewise, be careful with the space stripping option. It is
usually best to leave this option set to BOTH, unless you
specifically need bar codes with spaces at the beginning and end.
If you are using a commercial database or similar package, you
may find that you can place markers on either side of a field.
These fields are usually padded with spaces, and if you have
space stripping turned off, you may end up with the largest bar
codes you've ever seen, consisting mainly of spaces!
Bar Tender will *not* work on a printer connected to your serial
port. These are few and far between, but if you have one, sorry!
I can't help you. Don't even ask. Aren't you glad you didn't have
to pay to find this out?
Bar Tender has been extensively beta-tested, but this is the
first shareware release. Any serious project has bugs; if you
find something you can't explain, please contact me! If it is a
bug, I will do my very best to correct it, and will send you the
update. Please do this rather than simply discarding the product!
and... Thank you for selecting Bar Tender!
TVark Productions Bar Tender Users' Guide rev 1.3 Page 16
APPENDIX A
Utility Programs
----------------
The BAR_OUT utility.
BAR_OUT.COM is a small utility that will remove any
version of Bar Tender from memory. The programmer's
interface to Bar Tender, which allows such programs, is
available to registered users at no extra charge.
The INSTALL program.
The INSTALL program which you used to set up this system
is available as a shareware product. Contact the author
by one of the methods given at the beginning of this
document for details. (Sorry about the plug in the middle
of your documentation, but I couldn't resist!).
TVark Productions Bar Tender Users' Guide rev 1.3 Page 17
APPENDIX B
Selecting a Bar Code Type
-------------------------
Bar Tender supports ten different bar code types. Each
is used for a different purpose and may require certain
types of input.
If you enter invalid data for a particular bar- code
type, Bar Tender will simply ignore the code.
The most general purpose type is the Extended 3 of 9
code. This type can encode any ASCII character (any
character you can type from the keyboard), and can handle
any number of these characters up to 30. The standard 3
of 9 code is similar, but can only handle upper case
letters. Unless you specifically need lower case letters
or extended ASCII codes (and if you don't know what that
means, you probably don't need them!), 3 of 9 is your
best best for a general purpose code. The vast majority
of bar code readers can read this code.
For specific types of data, there are several other
options:
o Product Numbers.
The UPC-A code is the most common code used for product
numbers (this, and it's relative, the UPC-E, are the
codes that you will see on super-market produce). The
use of this code is regulated by the Universal Product
Code Commission. It has very specific requirements for
it's data (it must have 12 numeric characters. No other
form of data can be encoded), and is thus not a
general-purpose code.
For international product numbers, a variant on the
UPC code, the EAN/JAN code is used. This code has a
country of origin code predefined. Like the UPC-A
code, it can only handle 12 digit, numeric-only data.
In order to use either of these codes for anything but
in-house use, you must consult the Universal Product
Code Commission. And unless you are stuck with readers
that can only read these codes, I would suggest using
another, more flexible code for in-house use.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 18
o Numeric Data
If you wish to encode numeric-only data (no letters or
punctuation), you have a couple of options. The
Interleaved 2 of 5 code is by far the most efficient.
It can handle any number of digits up to 30, and
encodes them very efficiently, using very little space.
However, this efficiency makes it harder to ensure that
the code will be read correctly. 2 of 5 has a greater
error rate than any other code in this system (though
it is still far better than manual entry!).
A more robust code is Codabar. This will be less
efficient (the codes will be bigger), but has a better
error rate and allows a few extra symbols apart from
digits (- $ / . + A B C D). Both of these codes are
considerably more efficient than the general purpose
codes (3 of 9 and code 128), but are not supported by
all bar code readers. Check your reader's documentation
to see if it can handle these codes.
o Zip Codes
Zip codes are handled by the ZIP+4 code type. These are
the strange sets of short vertical lines you see on the
bottom of envelopes. This code type is only used by the
Post Office, and has very specific requirements. I am
not aware of any commercially available readers for the
PC that can read these codes.
o General Purpose
I began this section with a discussion of general
purpose bar codes, and recommended 3 of 9 or extended 3
of 9. However, you do have another option... Code 128.
This will handle any ASCII character up to 30 at a
time, like Extended 3 of 9. Code 128 is, however,
more efficient than Extended 3 of 9 (the bar codes will
be smaller). The only draw-backs to this code are that
it is slightly more error-prone than Extended 3 of 9,
and readers for this code are not as common as for the
3 of 9 family.
TVark Productions Bar Tender Users' Guide rev 1.3 Page 19
APPENDIX C
Bar code specifications
-----------------------
UPC-A
-----
The UPC-A code encodes 12 digits. The first is the system
number (defined by the Universal Product Code
Commission), the next ten are the data, and the final
digit is a checksum, which is best calculated
automatically by Bar Tender.
Example data:
10123456789 <-- Note only 11 digits. Bar
Tender will supply the 12th,
the checksum.
UPC-E
-----
The UPC-E code is a shortened version of the UPC-A code.
It also takes 12 numeric characters, but requires that
the system number and at least 5 of the ten data digits
are zero.
Example data:
01230000045 <-- 11 digits again, 6 of which
must be zero, including the
first digit.
EAN/JAN-12
----------
The EAN/JAN 12 code is related to the UPC-A code. It
again takes 12 digits, but the first two are defined as
the country code, and there is no checksum digit.
Example data:
011234567890
EAN/JAN-8
---------
The EAN/JAN-8 code is a truly abbreviated form of the
EAN/JAN-12. It encodes 8 digits, the first two of which
are defined as the country code.
Example data:
0112345
TVark Productions Bar Tender Users' Guide rev 1.3 Page 20
3 of 9
------
The 3 of 9 code is a general purpose code which can
handle alpha-numeric data of any length up to 30
characters. Allowable characters for this code are 0-9,
A-Z, -, ., *, $, /, +, %, and the space character. Note
that letters must be upper-case; if you enter lower-case
letters, they will automatically be converted to
upper-case.
Example data:
INV-104A PART-25 <-- This is all one code.
Extended 3 of 9
---------------
The extended 3 of 9 code is a general purpose code
expanding on the 3 of 9 code. Codes will be double the
size of the standard 3 of 9 code, but can contain any
ASCII character (any character you can enter from the
keyboard by normal means). The maximum length is 30
characters.
Example data: Socket Wrench PN#1212 <-- This
is all one code.
Interleaved 2 of 5
------------------
The interleaved 2 of 5 code is used for numeric data
only. It is a general purpose code whose only restriction
is that there must be an even number of characters in the
data; however, if you enter an odd number,the system will
automatically add a leading zero to the code. For
general-purpose, numeric-only data, this is the most
efficient code available.
Example data:
987654321
Code 128
--------
Code 128 is a general purpose bar code that can handle
any ASCII character (any character you can enter from the
keyboard by normal means). It is an optimized code,
meaning that it will attempt to make the bar-code as
small as possible by using various compression
techniques.
Example data:
Socket Wrench PN#1212 <-- This is all one
code
TVark Productions Bar Tender Users' Guide rev 1.3 Page 21
Codabar
-------
Codabar is a general purpose bar-code used primarily for
numeric data. It can, however, also encode the symbols -
$ / . +, and A-D. You should use this code in preference
to code 128 or 3 of 9 if you need to use only these
extended characters; you should use 2 of 5 in preference
to this code if you will be encoding only numeric data.
Data can be of any length up to 30 characters.
Example data:
$129.95
Zip + 4
-------
The Zip + 4 code is a highly specialized code used by the
post office for sorting letters. It can encode either 5
or 9 digits. This code must be placed on the lower right
of envelopes or postcards to be mailed. The Post Office
requires that the code be completely within an area
between 5/8" and 4" from the right of the envelope, and
between 3/16" and 7/16" from the bottom edge of the
envelope. The left side of the code must be from 4" to 3
1/4" from the right hand side of the envelope, and you
may not print anything else within an area from 4 1/2"
from the right edge of the envelope and 5/8" from the
bottom. The Post Office will provide you with information
on the use of this code on request.
Example data:
84102
841021234 <-- note: no hyphen or space!